This invention relates to a nonvolatile semiconductor memory device capable of storing, for example, multivalued data.
A NAND flash memory using an EEPROM has been proposed as an electrically rewritable nonvolatile semiconductor memory. In the NAND flash memory, the sources and drains of memory cells arranged side by side are connected in series and the series connection of the memory cells is connected as one unit to a bit line. In the NAND flash memory, all or half of the cells arranged in the direction of row are written into or read from all at once. Recently, a multivalued memory that enables data items to be stored in one cell in a NAND flash memory has been developed.
FIG. 3 shows the relationship between the data in a memory cell in an ordinary multivalued memory and the threshold voltage of the memory cell. The data items in a memory cell, or state "0" to state "3", are defined in ascending order, starting from the lowest threshold voltage of the memory cell. When erasing is done, the data in the memory cell goes to state "0". A write operation causes the threshold voltage of the cell to move to a higher level. When 2-bit data is stored in a single cell, the 2-bit data is separated into first-page data and second-page data. The first-page data and second-page data are switched using an address.
FIG. 4 shows a general method of writing data into a multivalued memory. When data is written into a memory cell, the first-page data is written. Then, the second-page data is written. When the write data constituting the first-page or second-page data is "1", the threshold voltage of the memory cell does not change in the write operation, with the result that the data in the memory cell remains unchanged. Namely, the data is not written. When write data constituting the first-page or second-page data is "0", the threshold voltage of the memory cell is changed in the write operation. As a result, the data in the memory cell is changed, causing the data to be written.
It is assumed that the data in the memory cell in the erased state is in state "0". First, the first-page data is written into the memory cell. When the write data is "1", the data in the memory cell remains in state "0". When the write data is "0", the data in the memory cell goes to state "1".
Next, the second-page data is written. At this time, when write data "0" is externally supplied to the memory cell whose data has become state "1" as a result of the first-page write operation, the data in the memory cell is brought into state "3". Moreover, when data "0" is externally supplied to the memory cell whose data has remained in state "0" as a result of the first-page write operation, the data in the memory cell is brought into state "2".
Furthermore, when data "1" is externally supplied to the memory cell whose data has become state "1" as a result of the first-page write operation, the data in the memory cell is allowed to remain in state "1". In addition, when data "1" is externally supplied to the memory cell whose data has remained in state "0" as a result of the first-page write operation, the data in the memory cell is allowed to remain in state "0".
On the other hand, when the data stored in the memory cell is read, the second-page data is read first and the first-page data is read. With the definition of FIG. 3, when the second-page data is read, if the data in the memory cell is in state "0" or state "1", the read-out data will be "1". Furthermore, if the data in the memory cell is in state "2" or state "3", the read-out data will be "0". For this reason, when the second-page data is read, a judgment can be made through only one operation of judging whether the data in the memory cell is in either state "1" or below or state "2" or above.
In contrast, when the first page data is read, if the data in the memory cell is in state "0" or state "2", the data to be read will be "1". If the data in the memory cell is in state "1" or state "3", the data to be read will be "0". Consequently, the first page requires a total of three read operations for the following judgments: a judgment whether the data in the memory cell is in either state "0" or state "1" or above, a judgment whether the data in the memory cell is in either state "1" or below or state "2", or above, and a judgment whether the data in the memory cell is in either state "2" or below or state "3".
Therefore, an ordinary nonvolatile semiconductor memory device requires many operations in reading the data from the memory cells, taking a long time to read the data.